Traditionally, ATM (Asynchronous Transfer Mode) has often been used for data transport in many cellular communication networks, such as the 3GPP (Third Generation Partnership Project) standardized WCDMA (Wideband Code Division Multiple Access), but now IP (Internet Protocol) based transport is being introduced. Ethernet is one technology that often is used as a carrier for the IP packets. Ethernet is a packet transfer technology based on a 48-bit MAC (Media Access) address and supports networks ranging from two up to thousands or more nodes. Nodes of an Ethernet based network are normally connected in a tree, ring or hub structure using Ethernet switches. The Ethernet switch is a device that receives an Ethernet packet from one port, looks at the destination MAC address and forwards it to another port that will either reach the destination or another switch that can forward it to the destination. The Ethernet switch is self-learning. By looking at incoming packets, it learns that a source MAC address of the incoming packet is associated with an incoming port at which the incoming packet is received and stores the port/MAC address association in a switching table. The switching table is then used to switch incoming packets. A destination MAC address is searched for in the switching table, and the switch can see which port to forward the packet to. If the destination address is not found in the switching table, the switch is unable to know which port to forward to. This is solved by process known as flooding, i.e. sending the packet to all ports except the one it came from (the incoming port). Flooding is the same method as the deprecated ancestor “Ethernet hub” used. An Ethernet hub has design that is a lot simpler, but will waste capacity of the Ethernet network by flooding all packets to every destination. The introduction of the Ethernet switch improved the situation significantly by only sending packets to the intended destination/receiver instead of everyone on the whole Ethernet. But as indicated above, the switch is sometimes forced to waste capacity by flooding when it has not been able to learn an address.
Due to, for example, cost considerations, it is normally not possible to design the switching table so that it can learn every MAC address. The switching table is, therefore, often limited to a few thousand MAC addresses since a large RAM (Random Access Memory) will cost more, and most switches will not need more. Consequently, there cannot be a one-to-one mapping of the 48-bit MAC addresses to the positions in the switching table, since a table address, indicating a position in the switching table, will be just 10-20 bits for a reasonably sized RAM. Algorithms have been developed for searching the switching table for the right position. Furthermore, there is a need to verify that the position is valid (often by storing the valid MAC address at the position itself). Some of the more common algorithms for this switching table look-up are the following: content-addressable memory, which is fast but expensive (consumes a lot of RAM); searching, which is cheap but slow; and hashing or truncation of address, which is both fast and cheap.
Hashing and truncation look-up thus have some advantages. However, these techniques are also prone to collisions. That is, more than one MAC address may be mapped to the same position in the switching table. When two (or more) MAC addresses are allocated to the same position in the switching table, only one of the addresses can be stored in the switching table. Thus the Ethernet switch is only able to work as a switch for one of the addresses (the one that happens to be stored). Any other MAC address associated with the same position in the switching table will have to be handled by flooding. For various reasons, this behavior can normally be accepted in traditional IP/Ethernet datacom oriented networks. The probability for collision is fairly low for small networks (low number of MAC addresses). Furthermore, networks are often over-dimensioned. For example, most Ethernet LANs (Local Area Networks) have a significant overcapacity to each computer. Moreover, traffic is often bursty making problems temporary. It is also unlikely that two computers with colliding MAC addresses will transmit at the same time for extended periods of time. Soon after one of the computers is going idle, the switch will refresh the switching table and stop the flooding of the other computer. Additionally, should the flooding become a serious problem, the computer or an Ethernet board could be replaced. Due to this equipment change, the MAC address is changed, and the collision is gone and eventually written off as “No Fault Found”, i.e. in most cases the problem is not even detected by the person solving it.
However, with the introduction of data transport using Ethernet switches in cellular and other telecom oriented networks, the difficulties with collision-prone switching tables are more pronounced. In a transport network, all nodes are essentially active all the time. Thus any MAC look-up collision will lead to permanent flooding of the traffic. A datacom network, on the other hand, will see this type of flooding only when two colliding MAC addresses are active at the same time. Furthermore, in a cellular network, RBSs (Radio Base Stations) are distributed over large areas and often at hard-to-reach locations. Therefore, the cost for transport link capacity is often an issue due to the use of microwave links with limited bandwidth or leased lines with high cost/capacity. This makes it desirable to keep the peak capacity low. As result, flooding will be a waste of expensive capacity. In the telecom world, equipment reliability is extremely high, and acceptance of random difficulties low. A Non-performing RBS will be detected. The operator will replace board(s), and the MTBF (Mean Time Between Failure) statistics for the RBS will be affected. Some Ethernet connections may also be throttled to a low bit-rate like 1 Mbit/s or 10 Mbit/s due to limited capacity in packet processing and/or links. This can both be node internal links, links on boards and links in the transport network. Such links will suffer from flooding by dropped packets and/or delays due to flooding packets which are intended for another destination are adding to the intended payload. Moreover, it is becoming customary to add various types of site equipment, such as site control equipment, Web cameras, Climate control equipment, or laptops (for visiting technicians), to RBS sites. Traffic load from the site equipment is generally low and will usually not be a problem if it should be flooded. However, the site equipment adds MAC addresses to the switching table, thus increasing a probability for collisions.
One way to overcome the above-described difficulties with the collision-prone switching table is to over-dimension all transport links to be able handle the worst case(s) of flooding. Although this can be feasible for some links, it will in general be too expensive when all links are considered.
Another way would be to introduce some form of advanced MAC address planning and/or detection and correction. This is feasible for a small network or a limited part of a network but will be complicated for a large network and adds to the maintenance cost.
Consequently, there is a need to overcome or at least mitigate the above-described difficulties with the collision-prone switching table in a simple and cost-effective manner.